The invention relates generally to a data processing method and apparatus, and in particular to a method and apparatus for operating the arithmetic unit of a data processing system with greater throughput and flexibility.
Competing priorities provide a constant dilemma for the computer design engineer. On the one hand, the engineer designs and builds faster and more powerful data processing systems; while, on the other hand, there is a continuing effort to keep the manufacturing cost of the system as low as possible. One approach for controlling and reducing cost is to reduce the quantity of the hardware required to produce a desired result. It was in part that motivation that spurred the computer industry to develop computers using a microcode control store to execute a program instruction in a sequence of small steps as opposed to the relatively large and complex hardware oriented main frame configuration wherein the entire instruction was executed in substantially one machine cycle. Thus, microcode has enabled the cost of the central processing unit to be reduced, by reducing the required hardware; however, in trade, the time required to implement instructions increases. This trade-off occurs because the microcode program will typically sequence through plural microcode instructions for each machine instruction. On the other hand, the reduced cost and complexity of the hardware, in exchange for speed, has resulted in less expensive so-called mini- and superminicomputers which have attained a significant market share for applications in which the main frame computer cannot compete on a cost basis.
Today, as the performance gap between the low end main frame and the superminicomputers narrows, as a result of faster semiconductor technologies and improved VLSI techniques, there is a continuing pressure to both increase the speed, and hence throughput, of the superminicomputer while maintaining the manufacturing cost advantages typically associated with the machines using microcode. Furthermore, computer programming techniques for decimal and variable length string manipulation are often time consuming and, in effect, reduce throughput as the microcode sequence of instructions require substantial steps of data manipulation.
It is therefore an object of the present invention to both increase speed and hence throughput in a minicomputer or superminicomputer while maintaining the manufacturing cost below the comparable main frame equipment. Other objects of the invention are to provide high reliability, to reduce the number of microcode program steps required to implement variable length string and decimal instructions, to maintain the lower manufacturing costs typically associated with mini-and supermini data processing systems, and to simplify the microcode implementations required for decimal and variable length string manipulations.